package com.yami.shop.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yami.shop.bean.model.ProdExtension;
import com.yami.shop.bean.model.SkuStockLock;

import java.util.List;

/**
 *
 *
 * @author LGH
 * @date 2022-05-05 10:47:48
 */
public interface ProdExtensionService extends IService<ProdExtension> {

    /**
     * 获取指定的商品的商品扩展信息
     * @param prodId 商品id
     * @return
     */
    ProdExtension getByProdId(Long prodId);

    /**
     * 改变商品库存
     * @param prodId
     */
    int updateProdStocks(Long prodId);

    /**
     * 更新注水销量
     * @param waterSaleNum
     * @param prodId
     * @return
     */
    int updateWaterSoldNum(Integer waterSaleNum, Long prodId);

    /**
     * 删除缓存
     * @param prodId
     */
    void removeProdExtensionCache(Long prodId);

    /**
     * 减少实际库存
     * @param skuWithStocks skuWithStocks
     */
    void reduceActualStockByOrder(List<SkuStockLock> skuWithStocks);

    /**
     * 改变商品库存和锁定库存（创建盲盒商品和下架时用到）
     * @param prodId
     */
    int updateProdStocksAndLockStock(Long prodId);
}
